Head positioning control apparatus of disk drive and method of controlling the same apparatus

ABSTRACT

A head positioning apparatus and method for a disk drive system. During each computing time of a plurality of sequential computing times: (a) a position of a servo head on a disk is computed, (b) an actual position of the servo head in the present computing time is computed, based on the computed position of the servo head and an estimated position of the servo head computed in the preceding computing time, (c) a moving distance of the servo head is computed, based on the actual positions of the servo head computed in the present computing time and in the preceding computing time, (d) an estimated position of the servo head in the present computing time, indicating an estimated position reached by the servo head at the succeeding computing time, is computed from the actual position of the servo head computed in the present computing time to the moving distance of the servo head, (e) a moving velocity of the servo head is computed based on the actual position of the servo head computed in the present computing time and the actual position of the servo head computed in the preceding computing time, (f) a remaining number of tracks up to a target track is computed, based on the actual position of the servo head computed in the present computing time, and (g) an object velocity of the servo head is obtained, based on the remaining number of tracks.

FIELD OF THE INVENTION

The present invention relates to a head positioning control apparatus ofa disk drive and, more specifically, to a circuit for detecting the headposition, driving the head in such direction as crossing the tracks onthe disk and controlling the positioning operation of the head.

A disk drive to which the present invention will be applied is, forexample, a magnetic disk drive which reads servo data recorded on a diskmedium. The present invention relates to executed detection of headposition and control of driving the head, responsive to servo dataobtained by a readout operation.

Magnetic disk drives are increasingly being used as an external datastorage apparatus. In one hand, request for large capacity is increasedand on the other hand, request for small size, low price and highreliability is enhanced.

DESCRIPTION OF THE RELATED ART

The prior art will be explained with reference to FIG. 1, indicating ablock diagram of a conventional head positioning control circuit.

In FIG. 1, the reference numeral 10 denotes a magnetic disk; 11, a servohead; 12, a voice coil motor; 13, a control current detecting circuit;14, an object velocity generating circuit; 15, a velocity detectingcircuit; 16, a velocity error detecting circuit; 17, a position errordetecting circuit; 18, a power amplifier; 19, a servo signal detectingcircuit; 20, a track crossing pulse generating circuit; 21, a maincontroller; 22, a selection circuit.

On a magnetic disk 10, servo data required for positioning of a servohead 11 is recorded, in addition to data being recorded. The servo head11 is used for reading servo data from the magnetic disk 10. A voicecoil motor 12 generates the force to move both servo head 11 and a datahead crossing the tracks.

A servo signal detecting circuit 19 reads servo head recorded on themagnetic disk 10 with the servo head 11 and generates a position signalindicating the position of servo head 11.

A velocity detecting circuit 15 detects a moving velocity of the servohead 11 from the position signal generated by the servo signalgenerating circuit 19 and a motor drive current detected by a controlcurrent detecting circuit 13.

A velocity error detecting circuit 16 detects velocity error between theobject velocity generated, during the coarse control, by an objectvelocity generating circuit 14 and the moving velocity of servo head 11detected by the velocity detecting circuit 15, and outputs a voltageresponsive to the velocity error.

A position error detecting circuit 17 detects position error from theposition signal generated, during the fine control, by the servo signaldetecting circuit 19 and a motor drive current detected by the controlcurrent detecting circuit 13, and outputs a voltage responsive toposition error.

A selection circuit 22 outputs an input from the velocity errordetecting circuit 16, during the coarse control (speed control), to apower amplifier 18 with a coarse/fine selection signal from a maincontroller 21, and also outputs an input from the position errordetecting circuit 17, during the fine control (position control), to thepower amplifier 18.

The power amplifier 18 converts a signal voltage outputted from thevelocity error detecting circuit 16 or position error detecting circuit17 into a current signal and then outputs such current signal to thevoice coil motor 12.

A track crossing pulse generating circuit 20 generates a track crossingpulse which indicates that the servo head 11 has crossed the boundarybetween the one track and the other track, with the position signalgenerated by the servo signal detecting circuit 19.

The main controller 21 executes processings, such as setting of thenumber of tracks crossed until the head reaches the target track,initiation of velocity control, selection to position control fromvelocity control and detection of a number of the remaining tracks untilthe target track by counting the track crossing pulse, etc.

When a seek instruction is applied to the main controller 21 from a hostapparatus, the main controller 21 instructs a number of remaining tracksup to the target track to the object velocity generating circuit 14. Theobject velocity generating circuit 14 generates the most suitable objectvelocity for moving the servo head to the target track.

Moreover, the main controller 21, upon counting of track crossing pulsefrom the track crossing pulse generating circuit 20 and detection ofservo head 11 having reached the target track, transmits the coarse/fineselection signal to the selection circuit 22 for transfer to theposition control from velocity control. When the servo head 11 stops atthe target track, the seek operation is completed.

The servo system of the conventional magnetic disk drive is constitutedby individual circuits. Therefore, reduction in size is restricted,reliability is poor and cost is high.

Particularly, it has been difficult to realize reduction in size ofcircuits for the track crossing pulse generating circuit required fordetecting position of the servo head because many analog elements areused. Moreover, this track crossing pulse generating circuit requiresrelatively large occupation area in comparison with the other circuits.Accordingly, this track crossing pulse generating circuit prevents thereduction in size of a magnetic disk drive as a whole.

In addition, since the track crossing pulse generating circuit is formedby many analog elements and requires a very expensive comparator whichensures high speed operation, it is difficult to produce a low pricemagnetic disk drive.

Moreover, since the track crossing pulse generating circuit uses acomparator as explained above, if noise is superposed on an output ofthe servo signal detecting circuit 19, an erroneous track crossing pulseis generated and the counted value of the number of crossing tracks alsobecomes erroneous. Thus, the servo head may be positioned to the trackdifferent from the target track.

Furthermore, since the track crossing pulse generating circuit is formedby many analog elements such as comparator as explained above,adjustment of circuits becomes troublesome and circuit performance maybe deteriorated by the aging effect of analog elements, therebyresulting in a malfunction.

SUMMARY OF THE INVENTION

It is an object of the present invention to provide a small size diskdrive, a low price disk drive, and/or a disk drive with improvedreliability.

It is another object of the present invention to provide a disk driveincluding a reduced number of analog elements to be used in the headpositioning control circuit of the disk drive.

It is another object of the present invention to provide a method fordigitally detecting the position of the head, without using the trackcrossing pulse generating circuit.

It is still another object of the present invention to provide a methodof moving the servo head to the target track position from the currenttrack position by the speed control.

It is a further object of the present invention to provide a novelmethod of digitally computing the position of a servo head by utilizinga high speed digital arithmetic circuit, and more particularly, toprovide a novel method of computing estimated position of the servo headon the occasion of computing the real position of the servo head fromthe estimated position of serve head and a value of servo signal read bythe servo head.

It is a still further object of the present invention to provide amethod of computing moving velocity of a servo head required forcomputing the first servo estimated position under the condition thatthe real position and estimated position of servo head are unknown, forexample, in such a case as immediately after the power switch is turnedON.

It is also an object of the present invention to provide a method ofdetecting correct position of the servo head by digitally eliminatingnoise even in case such noise is superposed on the servo signal read bythe servo head, on the occasion of computing the real position of theservo head from the estimated position of servo head and a value of theservo signal read by the servo head.

In order to attain the objects, the present invention computes the realposition of the servo head by the processes that the servo signal readby the servo head is digitally converted in every predetermined time andthe digital arithmetic circuit computes the arithmetic operations basedon the digitally converted value.

Accordingly, the present invention is characterized in that movingvelocity of the servo head is computed, as a method of computingestimated position of the servo head which is required for computing thereal position of the servo head, from the preceding servo head positionand the current servo head position and the next estimated position ofthe servo head is computed from moving velocity of the servo head andthe time required for computing the next servo head position.

The present invention is also characterized in that if the real positionof the servo head computed from estimated position of the servo head anda value of the digitally converted servo signal deviated, to aconsiderable extent, from estimated position on which the computationhas been executed, it is considered that noise element has bensuperposed on the servo signal and the computed position is not used asthe real position of the servo head but estimated position of the servohead is used in direct as the real position of the servo head.

The present invention is further characterized in that the servo head ismoved at the predetermined velocity by supplying a predetermined drivecurrent to the motor after the power switch of disk drive is turned ON.Under this condition, the period of servo signal read from the servohead is measured and a moving velocity of the servo head can be computedfrom the period of measured servo signal and the known distancecorresponding to the period of this servo signal.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 (prior art) is a block diagram of a conventional head positioningcontrol circuit of a magnetic disk drive.

FIG. 2 is a block diagram of a head positioning control circuit of amagnetic disk drive of the present invention.

FIG. 3 is a diagram indicating each computed value of a head positioningcontrol circuit of the present invention.

FIG. 4 is a diagram for explaining a data format of each computed value.

FIG. 5 is a flowchart for explaining operation of a head positioningcontrol circuit.

FIG. 6 and FIG. 7 are diagrams indicating each computed value when thehead moves.

FIG. 8 is a diagram indicating moving velocity of the servo head, adrive current of motor and a position of the servo head during the seekoperation mode.

FIG. 9 is a flowchart for explaining a method of computing the initialvalue of moving velocity of the servo head.

DESCRIPTION OF THE PREFERRED EMBODIMENTS

A head positioning control circuit of the present invention reduces thenumber of analog elements and unnecessary components of a track crossingpulse generating circuit.

Therefore, a position of the servo head has previously been detected bycounting the generated track crossing pulses with the track crossingpulse generating circuit. The present invention discloses a circuit anda method of detecting position of the servo head.

Accordingly, the real position of the servo head is computed bydigitally converting the servo signal read by the servo head in everypredetermined time and executing the arithmetic processing of thedigitally converted value with a digital arithmetic circuit. The digitalarithmetic circuit corrects the estimated position of the servo headcomputed by the arithmetic process on the basis of the digital value ofthe servo signal read by the servo head and computes the real positionof the servo head.

An embodiment of the head positioning control circuit of the presentinvention will be explained with reference to FIG. 2 to FIG. 9. FIG. 2is a block diagram of the head positioning control circuit of thepresent invention. FIG. 3 is a diagram indicating each computed value.FIG. 4 is a diagram for explaining a data format of each computed value.FIG. 5 is a flowchart for explaining operations of the head positioningcontrol circuit. FIG. 6 and FIG. 7 are diagrams indicating each computedvalue when the head is moving. FIG. 8 is a diagram indicating a movingvelocity of the servo head during the seek operation mode, a motor drivecurrent and position of the servo head. FIG. 9 is a flowchart forexplaining a method of setting the initial value of moving velocity ofthe servo head.

I. Explanation about a Composition of Head Positioning Control Circuit

A composition of the head positioning control circuit of the presentinvention will then be explained with reference to FIG. 2.

In this figure, the numeral 30 denotes a magnetic disk; 31, a servohead; 32, a position signal generating circuit; 33 and 34, an analogdigital converter (ADC); 40, a main controller; 50, a digital signalprocessor (DSP); 61, a digital analog converter (DAC); 62, a poweramplifier; 63, a voice coil motor.

As a magnetic disk 30, a plurality of magnetic disk media are rotatablydriven by the one spindle motor, the single surface of the one magneticdisk medium is used as the servo plane and well known 2-phase servopatterns, for example, are recorded in each track on such servo plane.Moreover, the plane other than the servo plane is used as the data planefor data recording.

A servo head 31 is used for reading the 2-phase type servo patternrecorded on the servo plane and inputs the servo signal to a positionsignal generating circuit 32.

The position signal generating circuit 32 generates a position signalwhich indicates the position of servo head 31 based on the servo signalread by the servo head 31. This position signal is composed of two kindsof signals, PosN and Posd PosQ, having deviation of 90° therebetween.These signals are all analog sine wave signals.

ADC 33 and ADC 34 respectively convert the analog position signals PosNand PosQ generated by the position signal generating circuit 32 intodigital signals and then output these signals to DSP 50. Moreover,conversion to digital signal is instructed from DSP 50, explained later.

DSP 50 corrects the estimated position of servo head 31 computed byarithmetic operation on the basis of the digitally converted positionsignals PosN and PosQ in order to compute the real position of servohead 31. Thereafter, on the occasion of computing the estimated positionof servo head 31, the moving velocity of servo head 31 is computed fromthe preceding servo head position and the current servo head position,and the next servo head position is estimated from the time required forcomputing the next servo head position and the moving velocity of servohead.

Moreover, DSP 50 computes a current value to be applied to the voicecoil motor 63 in order to position the servo head 31 to the desiredtrack on the basis of the difference between the computed movingvelocity of servo head 31 and the target velocity responsive to theremaining number of tracks until the target track.

DSP 50 is required to realize high speed arithmetic operation and inputor output of data. TMS 320C25 produced by TEXAS INSTRUMENTS is used, forexample, as DSP 50.

DSP 50 of the present embodiment comprises an input port 51, an outputport 52, RAM 53≈55 for storing coefficients for each digital value andvarious digital processings, and an interrupt timer 56, etc.

The input port 51 of DSP 50 has registers CylCmd and SvCmd for storingthe target track and servo instruction given from the host circuits andregisters PosN and PosQ for storing values of digitally convertedposition signals PosN and PosQ. On the other hand, the output port 52 ofDSP has a register DrvCur for storing a motor drive current valuecomputed by arithmetic operation of DSP 50.

RAM of DSP 50 comprises a part 53 for storing each digital value ofdigitally converted position signal, etc., a part 54 for storing a tableDCurve of the object velocity corresponding to a number of remainingtracks and a part 55 for storing coefficients of various digitalprocessings.

DAC 61 executes analog conversion of a motor drive current value storedin the register DrvCur and asynchronously operates with DSP 50 toinitiate analog conversion for each renewal of input value and outputs avoltage corresponding to a value of register DrvCur.

A power amplifier 62 converts a voltage outputted from DAC 61 into acurrent and outputs it to the voice coil motor 63 and also applies acurrent for driving the voice coil motor 63.

The voice coil motor 63 moves the servo head and data head in the radiusdirection of magnetic disk 30, namely in such direction as crossing thetracks.

A main controller 40 instructs servo instructions and the target track.Moreover, the main controller 40 executes interface control between hostcontrollers and monitoring of rotation control of magnetic disk 30.

II. Explanation about Each Computed Value in Circuit

Each computed value required for explaining operations of the circuitwill be explained with reference to FIG. 3. FIG. 3 is a diagram forexplaining each computed value of the head positioning control circuitof the present embodiment. In FIG. 3, each computed value is indicated,for the convenience of explanation, as a continuous analog signal, butin actual, it is a digital value converted in the predetermined timeinterval or a digital value computed by DSP 50. However, PosN and PosQare analog signals.

Moreover, in FIG. 3, a vertical solid line indicates the boundarybetween servo tracks, suggesting that when any one of the digitallyconverted position signals PosN and PosQ is zero, the servo head islocated at the boundary between servo tracks. In case the servo head islocated at the boundary of servo tracks, the data head which movesinterlocking with the servo head is located at the center of data track(on-track condition).

A track number is given continuously to each track. For example, whenthe total number of tracks is 2048, the track number is given from 0 to2047.

A zone number is also continuously given in unit of four tracks. Forexample, when the number of tracks is 2048, the zone number is givenfrom 0 to 511. As explained above, the zone number is given in unit offour tracks because the position signals PosN and PosQ are obtained withthe four tracks considered as the one period. Namely, when the servohead is relatively located in the same position in any zone, thedigitally converted position signals PosN and PosQ have the same valueeven when the servo head is located in any zone.

PosN and PosQ are analog signals indicating the position of servo headand the signal waveforms can be obtained as shown in FIG. 3, inaccordance with the position of servo head. These position signals PosNand PosQ are generated by the position signal generating circuit 32based on the servo data read by the servo head 31. These signals arethen digitally converted by ADC 33 and ADC 34 and are fetched into theregisters PosN and PosQ in the DSP 50.

These position signals PosN and PosQ provide deviation of Phase of 90°therebetween in order to discriminate moving direction of the servo head31 and moreover, if any one of the position signals PosN and PosQ iszero, it indicates that the servo head 31 is located at the boundarybetween servo tracks.

Moreover, the position signals PosN and PosQ are repeated periodicallyin every four tracks, namely in every zone. Therefore, the positionsignals PosN and PosQ provide relative positional information in thezone but does not include the zone information to be detected.

Phase indicates a track number in the zone in which the servo head islocated and takes any value amount 0, 1, 2, 3. This Phase can beobtained based on arithmetic operation and comparison of PosN+PosQ>0 andPosN-PosQ>0 as will be explained later.

PosFine indicates a precise positional information of the servo head ina track. That is, the one track is divided into 256 sections and a valuewhich is -0.5 or larger but under 0.5 is indicated in unit of 1/256.PosFine takes any one value, based on the value of Phase, among PosN,PosQ, -PosN and -PosQ. A method of obtaining PosFine will be explainedlater but PosFine extracts the linear part of the position signal PosNor PosQ as shown in FIG. 3 and obtains a value thereof througharithmetic operation with gradient in the same direction.

RRPos indicates an actually measured positional information of servohead in a certain zone and a value which is -0.5 or larger but under 3.5is indicated in unit of 1/256. This RRPos can be obtained by adding atrack number Phase in a zone and a positional information PosFine in atrack. Moreover, a value of actually measured RRPos within a zonebecomes incontinuous as shown in FIG. 3 but this incontinuous pointcorresponds to the boundary of zone.

III. Explanation about Data Format of Each Computed Value

Thereafter, a data format of each computed value to be processed withinDSP 50 will be explained with reference to FIG. 4. Each computed valueis stored in RAM 53 within DSP 50 and in a register and each computedvalue has any one data length amount 1-byte, 2-byte and 4-byte.

The upper most figure of FIG. 4 indicates the maximum data length to beprocessed within DSP 50. A data corresponding to track number is storedwithin the upper two bytes. For instance, when a number of tracks of2048, a value in the range from 0 to 2047 is stored. Here, the lowestbit of the upper two bytes indicates a digit of 1 of binary number,while the second lowest bit indicates a digit of 2 of binary number.

Meanwhile, a positional information in the track is stored in the lowertwo bytes, that is, a value under 1 is stored therein. Here, the highestbit of lower two bytes indicates a digit of 1/2 of a binary number,while the second highest bit indicates a digit of 1/4 of a binarynumber.

In FIG. 4, each computed value has any one data length amount 1-byte,2-byte and 4-byte and the digit of each bit of each computed value isaligned in vertical direction for the convenience of explanation.

In succession, each computed value to be processed in DSP 50 will beexplained hereunder.

1) Phase: Indicates a track number within a zone where the servo head islocated. This value is formed by one byte and takes a digital valueindicating any one of 0, 1, 2 and 3.

2) PosFine: Indicates a precise positional information within a certaintrack of the servo head. This value is formed by one byte and takes adigital value in the range from -128/256 to +127/256 in unit of 1/256 bydiving the one track into 1/256. For instance, when the servo head islocated at the position deviated by 0.25 track toward the track number 6from the track number 5, PosFine=0.25. Moreover, when the servo head islocated at the center between the track number 5 and track number 6,PosFine=-0.5.

3) RRPos: Indicates an actually measured positional information in azone of the servo head. This value is formed by track number Phasewithin a zone and positional information PosFine within a track. Thisvalue is formed by two bytes and can be computed by adding thepositional information PosFine within a track to the upper bytes andadding the positional information PosFine within a track to the lowerbytes. This value takes a value in the range from 0.5 or higher butunder 3.5. For instance, when the servo head is located at the positiondeviated by 0.25 track toward the track number 6 from the track number5, RRPos=5. Moreover, when the head is located at the center between thetrack number 5 and track number 6, RRPos=5.5.

4) ERPos: Indicates an estimated positional information in a zone of theservo head. This value means the positional information of the digitunder four tracks of an estimated absolute position EstLPos explainedlater and zero is stored for all digits of four tracks or more. Thisvalue is formed by two bytes and takes a value similar to the actuallymeasured position RPPos in a zone.

5) Distance: Indicates a positional error which is equal to a differencebetween estimated position ERPos in a zone of the servo head and anactually measured position RRPos in a zone of the servo head. This valueis formed by two bytes and takes a value which is larger than -4.0 butunder 4.0.

6) LPos: Indicates an actual absolute position of the servo head. Thisvalue is formed by four bytes. The upper two bytes correspond to a tracknumber, while the lower two bytes indicates a precise positionalinformation in a track. However, an actual absolute position LPos is notan actually measured value but is a value obtained by correcting anestimated absolute position EstLPos explained later based on an actuallymeasured position RRPos in a zone. Moreover, the actual absoluteposition of the servo head LPos takes a value, for example, which is-0.5 or higher but under 2047.5, when a number of tracks is 2048.

7) LastLPos: Indicates an actual absolute position of the servo headduring the preceding interrupt processing. This value is formed by fourbytes like the actual absolute position LPos of the servo head explainedbefore and takes a value in the similar range.

8) EstLPos: Indicates an estimated absolute position of the servo head.This value is formed by four bytes like a real absolute position LPosand takes a similar value. This estimated absolute position EstLPos canbe obtained by computing moving velocity of the servo head from thepreceding real absolute position LastLPos and the current real absoluteposition LPos and by executing the computation based on such movingvelocity and the time required until the preceding interrupt processing.The computed estimated absolute position EstLPos is used, during thenext interrupt processing, for computing the next real absolute positionof the servo head.

9) DiffLPos: Indicates a difference between the current real absoluteposition of the servo head and the preceding real absolute position andalso a moving distance of the servo head from the preceding position.

10) Velocity: Indicates a moving velocity of the servo head computedfrom moving distance DiffLPos of the servo head.

11) VelObj: Indicates an object moving velocity of the servo head. ThisVelObj value corresponds to the remaining number of tracks up to thetarget track and can be obtained by referring to a velocity table DCurvestored in a RAM 54 in DSP 50.

23) ClyDiff: Indicates a number of remaining tracks up to the targettrack. This number of remaining tracks ClyDiff can be obtained fromdifference between the real absolute position LPos and the target tracknumber ClyCmd.

13) TaskNo: Indicates condition of servo control. This value is notcomputed by DSP 50 but is used in some cases as a flag being set by DSP50. This value will therefore be explained here. The basic controlcondition includes velocity control, position control and rezerocontrol, etc.

The values stored in a RAM 53 of DSP 50 have been explained above andregisters in the input port 51 and output port 52 are also explainedhereunder.

14) ClyCmd: Indicates a track number of the target track indicated fromthe host controller. This value is formed by two bytes and takes, forexample, a value from 0 to 2047 in case the number of tracks is 2048.

15) SvCmd: A servo instruction instructed from the main controller 40 isstored. This value is formed by two bytes.

16) PosN: A value obtained by digitally converting the position signalPosN generated by the position signal generating circuit 32 is stored.

17) PosQ: A value obtained by digitally converting the position signalPosQ generated by the position signal generating circuit 32 is stored.

18) DrvCur: A drive current value of the voice coil motor 63 computed byDSP 50 is stored.

IV. Explanation about Operation of the Present Embodiment

Operation of the head position control circuit of this embodiment willbe explained with reference to FIGS. 5(a)≈(c), indicating flowcharts forexplaining the processes by DSP 50. For velocity control and positioncontrol, DSP 50 executes the processes in accordance with the flowchartsshown in FIGS. 5(a)≈(c). The processes executed for the velocity controland position control are partly common. After completion of the commonprocesses, DSP 50 discriminates the velocity control or position controland branches the process for the velocity control or position control

(Step S10)

DSP 50 executes the processes explained later with an interval of 38 uspreset to an interrupt timer 56. During the period from completion ofthis interrupt process to initiation of the next interrupt process, DSP50 discriminates whether the computed head velocity and head positionsatisfy the transfer condition to the position control from the velocitycontrol, or whether a command is received from the main controller 40 ornot.

A setting value 38 us of the interrupt timer 56 is preset so that thesingle interrupt processing in this embodiment is completed within atime shorter than 38 us and the processes other than the interruptprocess can be done sufficiently. Moreover, although detail explanationwill be made later, on the occasion of computing the real absoluteposition LPos by correcting an estimated absolute position EstLPos ofthe servo head based on the actually measured position RRPos in a zone,a value of the computed real absolute position LPos is not guaranteed ifan estimated error between the estimated absolute position EstLPos andactual absolute position of the servo head (not computed real absoluteposition LPos) is not within ±2 tracks. Therefore, the interrupt timer56 is set so that the estimated error is within ±2 tracks.

(Step S11)

DSP 50 instructs initiation of analog-digital conversion to ADC 33 and34 and stores digitally converted values of position signals PosN andPosQ in the registers PosN and PosQ in the input port 51.

(Steps S12≈S18)

DSP 50 discriminates amplitudes of PosN and PosQ in four kinds in thesteps S12≈S18 and executes the processings explained later, responsiveto the result of discrimination in order to compute the track numberPhase and positional information PosFine in the track in the zone wherethe servo head is locates.

1) When the conditions PosN+PosQ<0 and PosN-PosQ<0 are satisfied, thepositional information in the track PosFine is defined as -PosQ andtrack number in the zone Phase as 3 in the step S15.

2) When the conditions PosN+PosQ<0 and PosN-PosQ<0 are satisfied, thepositional information in the track PosFine is defined as PosN and thetrack number in the zone Phase as 0 in the step S16.

3) When the conditions PosN+PosQ≧0 and PosN-PosQ<0 are satisfied, thepositional information in the track PosFine is defined as PosN and thetrack number in the zone Phase as 1.

4) When the conditions PosN+PosQ≧and PosN-PosQ<0 are satisfied, thepositional information in the track PosFine is defined as -PosN and thetrack number in the zone Phase as 2.

(Step S19)

DSP 50 computes the actually measured position in the zone of the servohead from the track number in the zone Phase and positional informationin the zone PosFine and sets the obtained value to a variable RRPos inthe steps S19 and S20. In the step S19, the track number in the zonePhase is stored to the digit of one track or more of the variable RRPos.In this timing, the variable RRPos takes any one value among 0, 1, 2 and3.

(Step S20)

DSP 50 adds the positional information in the track PosFine to thepositional information under one track of the variable RRPos. Therefore,positional information in the zone RRPos takes a value of -0.5 or largerbut under 3.5.

(Step S21)

DSP 50 extracts a part of the estimated absolute position EstLPoscorresponding to the positional information in the zone and stores anestimated position in the zone to the variable ERPos. This estimatedposition in the zone ERPos takes a value of -0.5 or higher but under 3.5like the actually measures position in the zone RRPos.

(Step S22)

DSP 50 computes a positional error by subtracting the actually measuredposition in the zone RRPos from the estimated position in the zone ERPosand stores such error in the variable Distance. A positional errorDistance takes a value of -4.0 or higher but under 4.0.

(Step S30≈S31)

DSP 50 extracts, in the steps S30≈S31, a part corresponding to the zonenumber of the estimated absolute position EstLPos and stores this partin the variable Work for job. First, in the step D30, 0.5 is added tothe estimated absolute position EstLPos and the result is stored in thevariable Work for job, because the starting point for giving the zonenumber is deviated by 0.5 track from the starting point of the absoluteposition, a quotient of 4 of the absolute position does not simplybecome a zone number and a quotient of 4 of the result of adding 0.5 tothe absolute position becomes an accurate zone number. In succession, inthe step S21, a digit under four tracks of the variable Work for job iscleared to zero. In this timing, a part corresponding to the zone numberof the estimated absolute position EstLPos is stored in the variablework.

(Steps S32≈S36)

DSP 50 corrects, in the steps S32≈S36, the estimated absolute positionEstLPos with the actually measured position in the zone RRPos andexecutes the process for obtaining the real absolute position RRPos. Inthis case, it is necessary as a precondition that an error between theestimated absolute position EstLPos and the real position should bewithin ±2.0 tracks. It is because the actually measured position RRPosis periodically repeated in every zone and DSP 50 is capable ofrecognizing the position in the zone from this actually measuredposition RRPos in the zone but cannot recognize the zone number.

Therefore, the zone number of actual position is the same as the zonenumber of the estimated total position EstLPos or increased or decreasedunder the precondition that an error between the estimated absoluteposition EstLPos and the actual position is within ±2.0. Thisdiscrimination is executed depending on the value of positional errorDistance which is a difference between the absolute position in the zoneERPos and actually measured position in the zone RRPos and theprocessings described later are also executed responsive to thediscrimination are also executed.

1) When positional error Distance is under -2.0, 1 is subtracted fromthe digit of four tracks of variable Work for decrement of 1 of zonenumber in the step S34. The digit higher than four tracks of variableWork corresponds to the zone number.

2) When positional error Distance is -2 or higher but under 2, thevariable Work is constant and the zone number does not change.

3) When positional error Distance is larger than 2, 1 is added to thedigit of four tracks of variable Work to increment of 1 of the zonenumber in the step S35.

(Step S36)

The zone number of real position is stored in current in the variableWork for job. The real absolute position LPos of the servo head iscomputed by adding the actually measured position in the zone RRPos tothis variable for job Work.

(Steps S37≈S40)

DSP 50 eliminates noise in the stage of analog signal before digitalconversion of the positional signals PosN and PosQ and executes theprocess for improving stability of servo control in the steps S37≈S40.First, in the step S37, a positional error which is a difference betweenthe real absolute position LPos and estimated absolute position EstLPosis stored in the variable for job Work in the step S37.

Thereafter, DSP 50 judges, when a value of the variable Work indicatinga positional error is larger than 1.5 or under -1.5, that noise issuperposed on the servo signal which has been used basically forobtaining the actually measured position in the zone RRPos. In thiscase, DSP 50 uses, in the step S40, the estimated absolute positionEstLPos itself as the real absolute position LPos and does not use it asthe real absolute position LPos computed based on the actually measuredposition in the zone RRPos.

On the other hand, if a value of variable Work which indicates apositional error takes a value other than that indicated above, theactually measured position in the zone RRPos is decided accurate and thereal absolute position LPos computed from the actually measured positionin the zone RRPos is used in direct. When positional error is largerthan 1.5 or under -1.5, DSP 50 judges that noise is superposed on theservo signal, but such positional error is not always required to belimited to such value, 1.4.

(Step S41)

DSP 50 subtracts the preceding real absolute position LastLPos from theactually measured position LPos to compute a moving distance DiffLPos ofthe servo head.

(Step S42)

DSP 50 computes the next estimated absolute position Est of the servohead as preparation for the next interrupt process. Computation of thisestimated absolute position EstLPos is executed, in this embodiment, byadding the moving distance of head DiffLPos to the current real absoluteposition LPos. This is the most simplified position. If it is assumedthat moving velocity of the servo head is unchanged, since the interrupttime is a constant interval, the next estimated absolute positionEstLPos of the servo head can be computed only by adding computed movingdistance DiffLPos of the servo head to the real absolute position LPosof the servo head.

Moreover, it is not required to limit the interrupt time to a constantinterval in the next interrupt process may also be computed from movingvelocity of the servo head and the time until the next interruptprocess. In addition, an estimated position of the servo head may alsobe computed in the next interrupt process by considering not only movingvelocity of the servo head but also acceleration of the servo head.Moreover, an estimated position may be computed by considering velocityof the servo head.

(Step S43)

DSP 50 defines the real absolute position LPos as the preceding realabsolute position LastLPos as the preparation for the next interruptprocess.

(Step S50)

DSP 50 decides to execute velocity control or positional control. Inpractical, the current servo control condition is set to a variableTaskNo and it is decided to execute the velocity control or positionalcontrol by referring to a value of the variable TaskNo. Setting of thisvariable TaskNo is made by DSP 50 in the background process other thanthe interrupt process or in the step S67 explained later.

(Step 51)

DSP 50 executes, when the velocity control is judged in the step S50,the computation for velocity control in the steps S51≈S54. First, in thestep S51, a low-pass filter process is executed to a positional errorDiffLPos to compute a head velocity. The low-pass filter process isconducted through digital arithmetic to eliminate higher frequencyelement. That is, although it may be possible to use in direct apositional error DiffLPos as the head velocity, but the servo controlmay become unstable due to the higher frequency element and thereforethe higher frequency element is eliminated to stabilize servo control byexecuting the low-pass filter process to the positional error DiffLPos.

(Step S52)

DSP 50 subtracts the real absolute position LPos from a target tracknumber CylCmd to compute the remaining tracks up to the target trackCylDiff.

(Step S53)

DSP 50 obtains the object velocity VelObj by referring to an objectvelocity table DCurve using the remaining tracks up to the target trackCylDiff as the index.

(Step S54)

A current value for driving a voice coil motor 63 is computed from thereal velocity of head velocity computed in the step S51 and the objectvelocity VelObj obtained in the step S53 and it is then stored in theregister DurCur within the output port of DSP 50. The motor drivecurrent DrvCur is computed by the following equation.

    DrvCur=-K.sub.p *(G.sub.obj *VelObj-G.sub.vel *Velciey)

Where, K_(p), G_(vel), G_(obj) are coefficients.

The motor drive current value stored in the register is outputted to DAC61, which outputs a voltage responsive to an input value to a poweramplifier 62 after digital conversion of such input value. The poweramplifier 62 outputs a current responsive to such voltage to the voicecoil motor 63 to drive it.

V. Explanation about Positional Control

Thereafter, positional control will be explained. DSP 50 ranches to thestep S60 when the positional control is judged in the step S50 andexecutes the positional control process of the steps S60≈S67.

(Step S60)

DSP 50 subtracts the real absolute position LPos from the target trackposition CylCmd to compute positional error of the servo head PosErr.

(Step S61)

DSP 50 computes IntgrErr by executing the integral process to positionalerror PosErr. This integral process is executed for correcting a loopgain of the lower frequency range to absorb steady deviation of controlerror.

(Step S62)

DSP 50 adds IntgrErr and K_(pp) *PosErr and stores a result to thevariable for job Work1. K_(pp) is a preset coefficient.

(Step S63)

DSP 50 executes the low-pass filter process to Work1 and computes Work2.This low-pass filter process is executed for eliminating higherfrequency element to stabilize the servo control.

(Step S64)

DSP 50 executes phase correcting filter process to Work2 to computeWork3. This phase correcting filter process is executed for correctingdelay or lead of phase due to difference of frequency bands.

(Step S65)

DSP 50 executes notch filter process to Work3 to compute a motor drivecurrent value DrvCur. This notch filter process is executed forpreventing vibration of the servo head due to oscillation of the motordrive current.

(Step S66)

DSP 50 judges whether a servo command is received or not by makingreference to the register SvCmd of the input port 51. If the servocommand is not received, a series of interrupt process are completed inthe step S70 and DSP 50 returns to the background process.

(Step 67)

In case DSP 50 has received the servo command, it DSP 50 sets a variableTaskNo which indicates the servo control condition. Thereafter, DSP 50returns to the background process in the step S70.

The processes in the steps S66 and S67 may be executed by the backgroundprocess of DSP 50. But, since the background process is always suspendedby the interrupt process, reception of servo command is confirmed in thelast stage of positional control because it is not guaranteed thatreception of the servo command is always confirmed between the interruptprocesses.

In the conventional positional control, the process corresponding to thesteps S60≈S65 is executed in the analog circuits, but the presentinvention executes such processes with a digital signal processor. Sincethe velocity control is executed by the digital signal processor in thepresent invention, the positional control may also be executed by thedigital signal processor.

VII. Explanation about Each Computed Value while Moving of Servo Head

With reference to FIG. 6 and FIG. 7, detail processes of DSP 50 duringthe velocity control will be explained.

In these figures, the absolute position of the servo head is plotted onthe horizontal axis, while the actually measured position in the zoneRRPos and positional error Distance are plotted on the vertical axis.The figures in the upper stage show the actually measured position inthe zone RRPos for the absolute position of the servo head, while thefigures in the lower stage show positional error Distance which is adifference between the estimated position ERPos in the zone and actuallymeasured position in the zone RRPos for the absolute position of theservo head.

An example of FIG. 6 indicates the real absolute position in thepreceding interrupt process of 62.1 and estimated absolute position of72.4. The estimated position in the zone ERPos is 0.4, the zone numberis 18 and track number in the zone is 0.

The figure of lower stage in FIG. 5 indicates positional error Distancefor the absolute position of the servo head in case the estimatedposition in the zone ERPos is set to 0.4. This positional error Distancebecomes incontinuous at the boundary of zones because the actuallymeasured position in the zone RRPos becomes incontinuous at the boundaryof zones. When the estimated absolute position and the actually measuredposition are in the same zone, the positional error Distance is within±2.0. Moreover when the zone number is decreased, the positional errorDistance becomes a value smaller than -2.0.

Therefore, when a positional error Distance is within ±2.0, the zonenumber of estimated absolute position is equal to the zone number of thereal position, positional information corresponding to the zone numberof estimated absolute position is extracted and the real absoluteposition can be computed by adding the actually measured position in thezone RRPos to such positional information.

Meanwhile, when a positional error Distance is smaller than -2.0, thezone number of real position is smaller than the zone number ofestimated absolute position, positional information corresponding to thezone number of estimated absolute position is extracted and the realabsolute position can be computed by subtracting 1 from the zone numberand then adding the actually measured position RRPos in the zonethereto.

Moreover, the hatched area A of FIG. 5 indicates the real absoluteposition LPos computed by DSP 50. However, it is also probable that thereal absolute position LPos computed by DSP 50 is not accurate.Therefore, the computed LPos is not used as the real absolute positionand the estimated absolute position EstLPos is used as the real absoluteposition LPos.

Thereafter, FIG. 7 shows an example where a zone number of estimatedabsolute position is increased. In this example, the real absoluteposition in the preceding interrupt process is 31.0 and the currentestimated absolute position is 28.5. The estimated position in the zoneERPos of this estimated absolute position is 2.5, the zone number is 9and track number in the zone is 3.

The lower figure of FIG. 7 indicates a positional error Distance for theabsolute position of the servo head in such a case that the estimatedposition in the zone ERPos is set to 2.5. When the zone number ofestimated absolute position is equal to the zone number of realposition, a positional error Distance is within ±2.0 and when the zonenumber of estimated absolute position is increased, a positional errorDistance becomes larger than 2.0.

In addition, the hatched area A in FIG. 7 indicates a region wheredifference between the estimated total position and real positionbecomes 1.5 or larger as in the case of FIG. 6. It is probable that DSP50 provides inaccurate real absolute position LPos. In this case, thisLPos is not used as the real absolute position but the estimatedabsolute position ERPos is used as the real absolute position.

VII. Explanation about Initialization of Head Position Control Circuit

Thereafter, initialization of a head positioning control circuit of thepresent invention will be explained. Namely, under the condition thatthe power is turned ON for the disk drive, values of the real absoluteposition LPos of the servo head, estimated absolute position EstLPos,positional error DiffLPos between the real absolute position andestimated absolute position and moving velocity are not yet given andtherefore operation of the head positioning control circuit conformingto the flowchart of FIG. 4 is impossible.

For this reason, the head positioning control circuit is required, inplace of immediately starting the operation indicated in FIG. 5 uponthrowing of the power switch of the disk drive, to make initializationof each value.

In actual, after the power switch is turned ON, the head positioningcontrol circuit executes the rezero control for locating the servo headto the track having the number 0. For this rezero control, the velocitycontrol similar to that in the flowchart of FIG. 5 is also executed.However, in this rezero control, the velocity control is not executedresponsive to the number of tracks up to the track having the number 0,but the velocity control is executed only in the constant velocity. Inthis rezero control, DSP 50 does not have any information about absoluteposition of the servo head and has only a tentative position in such acase that any track is defined to have the number 0. When the rezerocontrol is completed, the servo head is located to the track having thenumber 0. Accordingly, the absolute position of the servo head can beobtained by setting the absolute position of the servo head to zero inthis timing.

Therefore, DSP 50 of the head positioning control circuit is required,before starting this rezero control, to obtain a moving velocity of theservo head. DSP 50 is capable of executing the velocity control in therezero control with the process similar to that indicated in theflowchart of FIG. 5 by obtaining the moving velocity of the servo head.During this rezero control, the servo head is subjected to only velocitycontrol at a constant velocity. After the servo head crosses the trackhaving the number 0, a guard band recording the predetermined servopattern is detected for reducing the velocity of head and low speeddrive in the direction of inverse rotation in view of locating the servohead to the track having the number 0. Thereafter, the real absoluteposition of head LPos, estimated absolute position EstLPos and precedingabsolute position EstLPos and preceding absolute position LastLPoscomputed in this timing are cleared to zero as the initialization.

Next, a method for computing moving velocity of the servo head will beexplained with reference to FIG. 9.

(Step S80)

After the power switch of disk drive is turned ON, DSP 50 initiates theprocesses explained later.

(Step S81)

DSP 50 resets a time counter to set the count value to zero. This timecounter executes the counting operation with, for example, a software.This time counter is used for measuring the period of a position signal.

(Step S82)

DSP 50 sets a motor drive current DrvCur as -100 to the resister withinthe output port 52. Here, the servo head is stopping, for example, atthe most internal landing zone of a magnetic disk when the power switchis turned On. A value -100 of the motor drive current is a current valuefor driving the servo head to the inner side and it is sufficientlysmaller than the value for driving the servo head at the maximumacceleration.

(Step S83)

DSP 50 waits for the period of 100 ms. This period is measured byanother timer different from the time counter explained above. Inaddition, the period of 100 ms is sufficient for the servo head to moveto the inner side of magnetic disk and for an actuator for moving theservo had to make press-contact with a mechanical stopper not permittingfurther movement. Of course, when the disk drive is normal, the servohead stops at the landing zone of the magnetic disk when the power isnot supplied. But, the servo head does not stop at the landing zone dueto some external force or other failure and thereby it may be located,for example, in the outer side of the magnetic disk. Therefore, theperiod of 100 ms is sufficient for the servo head to reach the mostinner side of the magnetic disk from any position.

(Step S84)

DSP 50 sets a motor drive current value DrvCur as 100 to a register inthe output port 52. This motor drive current value 100 is provided formoving the servo head to the outer side of magnetic disk. That is, theservo head is once located to the most inner side and is then moved tothe outer side of the magnetic head.

(Step S85)

DSP 50 waits for a period of 20 ms. This period is measured by anothertimer different from the time counter explained above as explained instep S83. Moreover, the period of 20 ms is determined for giving thepredetermined velocity to the servo head. Thereafter, DSP 50 computesthe moving velocity of the servo head by sampling a position signal.That is, above period is set so that the servo head is located at theposition sufficiently preceded for the most outer position of themagnetic disk.

(Step S86)

DSP 50 sets a motor drive current value DrvCur as 0 to a register in theoutput port 52. Thereby, a motor drive current becomes zero and themotor moves with its inertia. In the step explained later, DSP 50computes the moving velocity of the servo head by sampling a positionalsignal.

(Step S87)

DSP 50 instructs digital conversion of the position signal PosN.Moreover, the signal to be converted digitally may be the signal PosQ.Any one of these is converted digitally.

(Step S88)

DSP 50 judges whether a digitally converted value is zero or not andreturns to the step S87 when the value is not zero and then repeats theprocess of the step S87 until the digitally converted value becomeszero.

(Step S89)

DSP 50 starts the time counter when the position signal PosN becomeszero.

(Step S90)

DSP 50 instructs thereafter digital conversion of the position signalPosN.

(Step S91)

DSP 50 judges whether a digitally converted value is zero or not andreturns to the step S89 when the value is not zero and then repeats theprocess of the step S89 until the digitally converted value becomeszero.

(Step S92)

DSP 50 steps the time counter. This time counter counts the periodduring the position signal PosN becomes zero again from preceding zero.On the other hand, as will be apparent from FIG. 3, when the positionsignal becomes zero from preceding zero, it means that the servo headhas moved two tracks.

(Step S93)

DSP 50 computes the moving velocity of servo head. The moving distanceof servo head is two tracks and the distance of two tracks ispredetermined. Moreover, since the time required for moving these twotracks is measured, the moving velocity of servo head can be computed.

A value of the moving velocity of servo head can be computed from aboveprocesses.

Thereafter, DSP 50 computes the actually measured position in the zoneRRPos of the servo head. Namely, since the absolute position of servohead cannot be detected until the servo head is located to the track ofthe number 0 by the rezero control, the actually measured position inthe zone RRPos of the servo head when the velocity is computed is usedas the tentative absolute position LPos of the servo head.

Thereafter, DSP 50 considers the tentative absolute position LPos of theservo head as the preceding real absolute position LastLPos of servohead.

In succession, DSP 50 obtained a moving distance of the servo head bymultiplying the moving velocity of servo head computed in the step S93with the time until the next interrupt process, adds the moving distanceof servo head to the tentative real absolute position LPos in order tocompute the estimated absolute position EstLPos of servo head in thenext interrupt process. However, this estimated absolute positionEstLPos is also a tentative position.

With the processes explained above, every information required has beenset for velocity control. When the moving velocity of the servo head iscomputed, the servo head is moving with its inertia toward the outerside and DSP 50 transfers to the rezero control.

DSP 50 executes the velocity control similar to that in the flowchart ofFIG. 5 during the rezero process. However, the object velocity is notchanged responsive to the remaining number of tracks and the objectvelocity is constant.

Thereafter, when the rezero control is completed and the servo head islocated to the position of the track having the number 0, DSP 50converts the values of real absolute position LPos, estimated absoluteposition EstLPos and preceding real absolute position LastLPos into theabsolute position by resetting these values to zero.

In succession, DSP 50 executes positional control in the track havingthe number 0 and waits for reception of servo instruction. Thispositional control is executed in accordance with the flowchart shown inFIG. 5.

IX. Explanation about Head Velocity and Motor Drive Current in VelocityControl

With reference to FIG. 8, practical signals and computed values forvelocity control by the head positioning control circuit of the presentinvention will be explained. In this figure, all time axes are plottedon the horizontal axis.

Velocity indicates moving velocity of the servo head during the velocitycontrol. In the figure, a dotted line indicates the object velocityVelObj.

PADrv indicates an output voltage signal of DAC 61 during the velocitycontrol. This value is a voltage signal obtained by analogouslyconversion in DAC 51 of a motor drive current value DrvCur computed byDSP 50.

PosFine indicates a position signal in the track computed by DSP 50during the seek operation. This value is an arithmetic value computed onthe basis of the servo signal read by the servo head.

LPos indicates an absolute position of the servo head during the seekoperation. This value is an arithmetic value computed by DSP 50. Thisvalue suggests that the servo head moves to the target track positionfrom the current track position.

A preferred embodiment of the present invention has been explained, butthe present invention is not limited only to this embodiment and allowsany change or modification thereof only in the scope of the appendedclaims.

Effect of the Invention

The present invention provides a small size disk drive because iteliminates analog elements, particularly a track crossing pulsegenerating circuit which requires larger mounting area from the headpositioning control circuit of the disk drive.

Moreover, the present invention provides a low price disk drive becauseit does not use expensive analog elements. In addition, the presentinvention provides a disk drive which does not show any change byaligning of the circuits and has improved reliability because the headpositioning control circuit is formed by digital circuits.

Furthermore, the present invention provides a disk drive which iscapable of computing the accurate absolute position of the servo headand preventing seek error of erroneously seeking the tracks becausenoise can be digitally eliminated during digital computation of theservo head position, in case noise element is superposed on the servosignal read by the servo head.

What is claimed is:
 1. A head positioning control apparatus of a diskdrive system, the disk drive system operable with a disk having aplurality of tracks and servo data recorded on the disk, the disk drivesystem comprising a servo head which reads the servo data and a motorwhich moves the servo head to cross tracks on the disk, the disk beingdivided into a plurality of zones, each zone having a predeterminednumber of continuous tracks and the servo data indicates a position ofthe servo head on the disk when the servo head is reading the servodata, the head positioning control apparatus computing an estimatedposition of the servo head on the disk and an actual position of theservo head on the disk at each computing time of a plurality ofsequential computing times to move the servo head to a target track, thehead positioning control apparatus comprising:positional signalgenerating means, responsive to the servo data read from the disk by theservo head, for generating an analog positional signal which indicatesthe position of the servo head in a respective zone; digital convertingmeans for receiving the analog positional signal and for digitallyconverting the analog positional signal into a digital value; digitalprocessing means, receiving the digital value and, at each computingtime of the plurality of sequential computing times, for:computing aposition of the servo head in a respective zone on the disk based on theconverted digital value, computing an actual position of the servo headin the present computing time based on the computed position of theservo head and the estimated position of the servo head computed in thepreceding computing time, computing a moving distance of the servo headbased on the actual position of the servo head computed in the presentcomputing time and the actual position of the servo head computed in thepreceding computing time, computing an estimated position of the servohead in the present computing time which indicates an estimated positionreached by the servo head at the succeeding computing time, by addingthe actual position of the servo head computed in the present computingtime to the moving distance of the servo head, computing a movingvelocity of the servo head based on the actual position of the servohead computed in the present computing time and the actual position ofthe servo head computed in the preceding computing time, computing aremaining number of tracks up to the target track, based on the actualposition of the servo head computed in the present computing time,obtaining an object velocity of the servo head based on the remainingnumber of tracks, and computing a current value for driving the motor,based on the moving velocity of the servo head and the object velocityof the servo head; and motor drive means for receiving the current valuecomputed by the digital processing means, generating an analog motordrive current signal from the current value, and driving the motor bythe analog motor drive current signal.
 2. A head positioning controlapparatus as in claim 1, wherein the digital processing means computesthe estimated position of the servo head in the present computing timeby adding the moving distance of the servo head to the actual positionof the servo head computed in the present computing time.
 3. A headpositioning control apparatus as in claim 1, wherein the digitalprocessing means:computes the moving distance of servo head from thedifference between the actual position of the servo head computed in thepresent computing time and the actual position of the servo headcomputed in the preceding computing time, and computes the movingvelocity of the servo head by digitally executing a low-pass filterprocess to the moving distance of servo head.
 4. A head positioningcontrol apparatus as in claim 1, wherein the motor drive meanscomprises:analog converting means for generating an analog voltagesignal by converting the current value into the analog voltage signal;and amplifier means for receiving the analog voltage signal and forconverting the analog voltage signal to the analog motor drive currentsignal.
 5. A head positioning control apparatus of a disk drive system,the disk drive system operable with a disk having a plurality of tracksand servo data recorded on the disk, the disk drive system comprising aservo head which reads the servo data and a motor which moves the servohead to cross tracks on the disk, the disk being divided into aplurality of zones, each zone having a predetermined number ofcontinuous tracks and the servo data indicates a position of the servohead on the disk when the servo head is reading the servo data, the headpositioning control apparatus computing an estimated position of theservo head on the disk and an actual position of the servo head on thedisk at each computing time of a plurality of sequential computing timesto move the servo head to a target track, the head positioning controlapparatus comprising:positional signal generating means, responsive tothe servo data read from the disk by the servo head, for generating ananalog positional signal which indicates the position of the servo headin a respective zone; digital converting means for receiving the analogpositional signal and for digitally converting the analog positionalsignal into a digital value; digital processing means, receiving thedigital value and, at each computing time of the plurality of sequentialcomputing times, for:computing a position of the servo head in arespective zone on the disk based on the converted digital value,computing an actual position of the servo head in the present computingtime based on the computed position of the servo head and the estimatedposition of the servo head computed in the preceding computing time ofthe plurality of sequential computing times, computing a moving velocityof the servo head based on the actual position of the servo headcomputed in the present computing time and the actual position of theservo head computed in the preceding computing time, computing anestimated position of the servo head in the present computing time whichindicates an estimated position reached by the servo head at thesucceeding computing time of the plurality of sequential computingtimes, by adding the actual position of the servo head computed in thepresent computing time to a moving distance obtained by multiplying themoving velocity of the servo head by the time interval from precedingcomputing time, computing a remaining number of tracks up to the targettrack, based on the actual position of the servo head computed in thepresent computing time, obtaining an object velocity of the servo headbased on the remaining number of tracks, and computing a current valuefor driving the motor, based on the moving velocity of the servo headand the object velocity of the servo head; and motor drive means forreceiving the current value computed by the digital processing means,generating an analog motor drive current signal from the current value,and driving the motor by the analog motor drive current signal.
 6. Ahead positioning control apparatus as in claim 5, wherein the digitalprocessing means:computes a moving distance of the servo head in apredetermined period by multiplying the computed moving velocity ofservo head with the predetermined period; and computes the estimatedposition of servo head in the present computing time by adding thecomputed moving distance of servo head within the predetermined periodto the actual position of servo head computed in the present computingtime.
 7. A head positioning control apparatus as in claim 5, wherein thedigital processing means:computes the moving distance of the servo headfrom the difference between the actual position of the servo headcomputed in the present computing time and the actual position of theservo head computed in the preceding computing time, and computes themoving velocity of the servo head by digitally applying a low-passfilter process to the moving distance of the servo head.
 8. A headpositioning control apparatus as in claim 5, wherein the motor drivemeans comprises:analog converting means for generating an analog voltagesignal by converting the current value into an analog signal; andamplifier means for converting the analog voltage signal to the analogmotor drive current signal and for supplying the analog motor drivecurrent signal to the motor.
 9. A head positioning control apparatus ofa disk drive system, the disk drive system operable with a disk having aplurality of tracks and servo data recorded on the disk, the disk drivesystem comprising a servo head which reads the servo data and a motorwhich moves the servo head to cross tracks on the disk, the disk beingdivided into a plurality of zones, each zone having a predeterminednumber of continuous tracks and the servo data indicates a position ofthe servo head on the disk when the servo head is reading the servodata, the head positioning control apparatus computing an estimatedposition of the servo head on the disk and an actual position of theservo head on the disk at each computing time of a plurality ofsequential computing times to move the servo head to a target track, thehead positioning control apparatus comprising:positional signalgenerating means, responsive to the servo data read from the disk by theservo head, for generating an analog positional signal which indicatesthe position of the servo head in a respective zone; digital convertingmeans for receiving the analog positional signal and for digitallyconverting the analog positional signal into a digital value; digitalprocessing means, receiving the digital value and, at each computingtime of the plurality of sequential computing times, for:computing aposition of the servo head in a respective zone based on the converteddigital value, computing an actual position of the servo head in thepresent computing time based on the computed position of the servo headand the estimated position of the servo head computed in the precedingcomputing time, adjusting the actual position of the servo head computedin the present computing time based on the actual position of the servohead computed in the present computing time and the estimated positionof the servo head computed in the preceding computing time, computing amoving velocity of the servo head based on the actual position of theservo head computed in the present computing time and the actualposition of the servo head computed in the preceding computing time,computing an estimated position of the servo head in the presentcomputing time which indicates an estimated position reached by theservo head at the succeeding computing time, by adding the actualposition of the servo head computed in the present computing time to themoving distance of the servo head obtained from the moving velocity ofthe servo head and the time interval from the preceding computing time,computing a remaining number of tracks up to the target track, based onthe actual position of the servo head computed in the present computingtime, obtaining an object velocity of the servo head based on theremaining number of tracks, and computing a current value for drivingthe motor, based on the moving velocity of the servo head and the objectvelocity of the servo head; and motor drive means for receiving thecurrent value computed by the digital processing means, generating ananalog motor drive current signal from the current value, and drivingthe motor by the analog motor drive current signal.
 10. A headpositioning control apparatus as in claim 9, wherein the digitalprocessing means:computes an estimated error by subtracting the actualposition of the servo head computed in the present computing time fromthe estimated position of the servo head computed in the precedingcomputing time, sets the estimated position of the servo head computedin the preceding computing time as the actual position of the servo headcomputed in the present computing time when the estimated error exceedsa predetermined value, and maintains the actual position of the servohead computed in the present computing time as the actual position ofthe servo head computed in the present computing time when the estimatederror is smaller than the predetermined value.
 11. A head positioningcontrol apparatus as in claim 9, wherein the digital processingmeans:computes the moving distance of the servo head from the differencebetween the actual position of the servo head computed in the presentcomputing time and the actual position of the servo head computed in thepreceding computing time, and computes the moving velocity of the servohead by digitally applying a low-pass filter process to the movingdistance of the servo head.
 12. A head positioning control apparatus asin claim 9, wherein the motor drive means comprises:analog convertingmeans for generating an analog voltage signal by converting the currentvalue into an analog signal; and amplifier means for converting theanalog voltage signal to the analog motor drive current signal and forsupplying the analog motor drive current signal to the motor.
 13. Amethod for positioning a servo head which reads data recorded on a diskof a disk drive system, the disk drive system operable with a diskhaving a plurality of tracks and servo data recorded on the disk, thedisk being divided into a plurality of zones, each zone having apredetermined number of continuous tracks and the servo data indicates aposition of a servo head on the disk when the servo head is reading theservo data, the disk drive system comprising a servo head which readsthe servo data, a positional signal generating circuit which isresponsive to the servo data read by the servo head to generate ananalog positional signal indicating the position of the servo head onthe disk, and a motor which is responsive to the analog positionalsignal to move the servo head to cross tracks on the disk, the methodcomputing an estimated position of the servo head on the disk and anactual position of the servo head on the disk at each computing time ofa plurality of sequential computing times to move the servo head to atarget track, the method comprising:converting the analog positionalsignal into a digital value and, at each computing time of the pluralityof sequential computing times,computing a position of the servo head ina respective zone based on the converted digital value, computing anactual position of the servo head in the present computing time based onthe computed position of the servo head and the estimated position ofthe servo head computed in the preceding computing time, computing amoving distance of the servo head from the difference between the actualposition of the servo head computed in the present computing time andthe actual position of the servo head computed in the precedingcomputing time, computing an estimated position of the servo head in thepresent computing time which indicates an estimated position reached bythe servo head at the succeeding computing time, by adding the actualposition of the servo head computed in the present computing time to themoving distance of the servo head, computing a moving velocity of theservo head based on the moving distance, computing a number of remainingtracks up to the target track, based on the actual position of the servohead computed in the present computing time, obtaining an objectvelocity of the servo head based on the number of remaining tracks, andcomputing a current value for driving the motor, based on the movingvelocity of the servo head and the object velocity of the servo head.14. A method as in claim 13, wherein the step of computing an estimatedposition of the servo head in the present computing time furthercomprises:computing an estimated position of the servo head in thepresent computing time by adding the moving distance of the servo headto the actual position of the servo head computed in the presentcomputing time.
 15. A method as in claim 13, further comprising thesteps of:computing, prior to computing the moving distance, an estimatederror by subtracting the actual position of the servo head computed inthe present computing time from the estimated position of the servo headcomputed in the preceding computing time; and setting the estimatedposition of the servo head computed in the previous computing time asthe actual position of the servo head computed in the present computingtime when the estimated error exceeds a predetermined value.
 16. Amethod for positioning a servo head which reads data recorded on a diskof a disk drive system, the disk drive system operable with a having aplurality of tracks and servo data recorded on the disk, the disk beingdivided into a plurality of zones, each zone having a predeterminednumber of continuous tracks and the servo data indicates a position of aservo head on the disk when the servo head is reading the servo data,the disk drive system comprising a servo head which reads the servodata, a positional signal generating circuit which is responsive to theservo data read by the servo head to generate an analog positionalsignal indicating the position of the servo head on the disk, and amotor which is responsive to the analog positional signal to move theservo head to cross tracks on the disk, the method computing anestimated position of the servo head on the disk and an actual positionof the servo head on the disk at each computing time of a plurality ofsequential computing times to move the servo head to a target track, themethod comprising:converting the analog positional signal into a digitalvalue and, at each computing time of the plurality of sequentialcomputing times,computing a position of the servo head in a respectivezone based on the converted digital value, computing an actual positionof the servo head in the present computing time based on the computedposition of the servo head and the estimated position of the servo headcomputed in the preceding computing time, computing a moving distance ofthe servo head from the difference between the actual position of theservo head computed in the present computing time and the actualposition of the servo head computed in the preceding computing time,computing a moving velocity of the servo head based on the movingdistance of the servo head, computing a moving distance of the servohead within the time interval from the preceding computing time bymultiplying the computed moving velocity of the servo head with the timeinterval, computing an estimated position of the servo head in thepresent computing time which indicates an estimated position reached bythe servo head at the succeeding computing time, by adding the actualposition of the servo head computed in the present computing time to themoving distance of servo head in the time interval from the precedingcomputing time, computing a number of remaining tracks up to the targettrack, based on the actual position of the servo head computed in thepresent computing time, obtaining an object velocity of the servo headbased on the number of remaining tracks, and computing a current fordriving the motor, based on the moving velocity of the servo head andthe object velocity of the servo head.
 17. A head positioning controlapparatus of a disk drive system, the disk drive system operable with adisk having a plurality of tracks and servo data recorded on the disk,the disk drive system comprising a servo head which reads the servo dataand a motor which moves the servo head to cross tracks on the disk, thedisk being divided into a plurality of zones, each zone having apredetermined number of continuous tracks and the servo data indicates aposition of the servo head on the disk when the servo head is readingthe servo data, the head positioning control apparatus computing anestimated position of the servo head on the disk and an actual positionof the servo head on the disk at each computing time of a plurality ofsequential computing times to move the servo head to a target track, thehead positioning control apparatus comprising:positional signalgenerating means, responsive to the servo data read from the disk by theservo head, for generating an analog positional signal which indicatesthe position of the servo head in a respective zone; digital convertingmeans for receiving the analog positional signal and for digitallyconverting the analog positional signal into a digital value; digitalprocessing means, receiving the digital value, and, at each computingtime of the plurality of computing times, for computing a current valuefor driving the motor by:computing a position of the servo head in arespective zone on the disk based on the converted digital value,computing an actual position of the servo head in the present computingtime based on the computed position of the servo head and the estimatedposition of the servo head computed in the preceding computing time,computing a moving distance of the servo head based on the actualposition of the servo head computed in the present computing time andthe actual position of the servo head computed in the precedingcomputing time, computing an estimated position of the servo head in thepresent computing time which indicates an estimated position reached bythe servo head at the succeeding computing time of the plurality ofsequential computing times, by adding the actual position of the servohead computed in the present computing time to the moving distance ofthe servo head, computing a moving velocity of the servo head based onthe actual position of the servo head computed in the present computingtime and the actual position of the servo head computed in the precedingcomputing time, without requiring the use of a measured current value,computing a remaining number of tracks up to the target track, based onthe actual position of the servo head computed in the present computingtime, obtaining an object velocity of the servo head based on theremaining number of tracks, and computing a current value for drivingthe motor, based on the moving velocity of the servo head and the objectvelocity of the servo head; and motor drive means for receiving thecurrent value computed by the digital processing means, generating ananalog motor drive current signal from the current value, and drivingthe motor by the analog motor drive current signal.
 18. A headpositioning control apparatus as in claim 17, wherein the digitalprocessing means computes the estimated position of the servo head inthe present computing time by adding the moving distance of the servohead to the actual position of the servo head computed in the presentcomputing time.
 19. A head positioning control apparatus as in claim 17,wherein the digital processing means:computes the moving distance ofservo head from difference between the actual position of the servo headcomputed in the present computing time and the actual position of theservo head computed in the preceding computing time, and computes themoving velocity of the servo head by digitally executing a low-passfilter process to the moving distance of servo head.
 20. A headpositioning control apparatus as in claim 17, wherein the motor drivemeans comprises:analog converting means for generating an analog voltagesignal by converting the current value into the analog voltage signal;and amplifier means for receiving the analog voltage signal and forconverting the analog voltage signal to the analog motor drive currentsignal.
 21. A head positioning control apparatus of a disk drive system,the disk drive system operable with a disk having a plurality of tracksand servo data recorded on the disk, the disk drive system comprising aservo head which reads the servo data and a motor which moves the servohead to cross tracks on the disk, the disk being divided into aplurality of zones, each zone having a predetermined number ofcontinuous tracks and the servo data indicates a position of the servohead on the disk when the servo head is reading the servo data, the headpositioning control apparatus computing an estimated position of theservo head on the disk and an actual position of the servo head on thedisk at each computing time of a plurality of sequential computing timesto move the servo head to a target track, the head positioning controlapparatus comprising:positional signal generating means, responsive tothe servo data read from the disk by the servo head, for generating ananalog positional signal which indicates the position of the servo headin a respective zone; digital converting means for receiving the analogpositional signal and for digitally converting the analog positionalsignal into a digital value; digital processing means, receiving thedigital value, and, at each computing time of the plurality ofsequential computing times, for computing a current value for drivingthe motor by:computing a position of the servo head in a respective zoneon the disk based on the converted digital value, computing an actualposition of the servo head in the present computing time based on thecomputed position of the servo head and the estimated position of theservo head computed in the preceding computing time, computing a movingvelocity of the servo head based on the actual position of the servohead computed in the present computing time and the actual position ofthe servo head computed in the preceding computing time, withoutrequiring the use of a measured current value, computing an estimatedposition of the servo head in the present computing time which indicatesan estimated position reached by the servo head at the succeedingcomputing time of the plurality of sequential computing times, by addingthe actual position of the servo head computed in the present computingtime to the moving distance of the servo head obtained from the movingvelocity of the servo head and the time interval from the precedingcomputing time, computing a remaining number of tracks up to the targettrack, based on the actual position of the servo head computed in thepresent computing time, obtaining an object velocity of the servo headbased on the remaining number of tracks, and computing a current valuefor driving the motor, based on the moving velocity of the servo headand the object velocity of the servo head; and motor drive means forreceiving the current value computed by the digital processing means,generating an analog motor drive current signal from the current value,and driving the motor by the analog motor drive current signal.
 22. Ahead positioning control apparatus as in claim 21, wherein the digitalprocessing means:computes a moving distance of the servo head in apredetermined period by multiplying the computed moving velocity ofservo head with the predetermined period; and computes the estimatedposition of servo head in the present computing time by adding thecomputed moving distance of servo head within the predetermined periodto the actual position of servo head computed in the present computingtime.
 23. A head positioning control apparatus as in claim 21, whereinthe digital processing means:computes the moving distance of the servohead from the difference between the actual position of the servo headcomputed in the present computing time and the actual position of theservo head computed in the preceding computing time, and computes themoving velocity of the servo head by digitally applying a low-passfilter process to the moving distance of the servo head.
 24. A headpositioning control apparatus as in claim 21, wherein the motor drivemeans comprises:analog converting means for generating an analog voltagesignal by converting the current value into an analog signal; andamplifier means for converting the analog voltage signal to the analogmotor drive current signal and for supplying the analog motor drivecurrent signal to the motor.
 25. A head positioning control apparatus ofa disk drive system, the disk drive system operable with a disk having aplurality of tracks and servo data recorded on the disk, the disk drivesystem comprising a servo head which reads the servo data and a motorwhich moves the servo head to cross tracks on the disk, the disk beingdivided into a plurality of zones, each zone having a predeterminednumber of continuous tracks and the servo data indicates a position ofthe servo head on the disk when the servo head is reading the servodata, the head positioning control apparatus computing an estimatedposition of the servo head on the disk and an actual position of theservo head on the disk at each computing time of a plurality ofsequential computing times to move the servo head to a target track, thehead positioning control apparatus comprising:positional signalgenerating means, responsive to the servo data read from the disk by theservo head, for generating an analog positional signal which indicatesthe position of the servo head in a respective zone; digital convertingmeans for receiving the analog positional signal and for digitallyconverting the analog positional signal into a digital value; digitalprocessing means, receiving the digital value, and, at each computingtime of the plurality of sequential computing times, for computing acurrent value for driving the motor by:computing a position of the servohead in a respective zone based on the converted digital value,computing an actual position of the servo head in the present computingtime based on the computed position of the servo head and the estimatedposition of the servo head computed in the preceding computing time,computing a moving velocity of the servo head based on the actualposition of the servo head computed in the present computing time andthe actual position of the servo head computed in the precedingcomputing time, without requiring the use of a measured current value,computing an estimated position of the servo head in the presentcomputing time which indicates an estimated position reached by theservo head at the succeeding computing time of the plurality ofsequential computing times, by adding the actual position of the servohead computed in the present computing time to the moving distance ofthe servo head obtained from the moving velocity of the servo head andthe time interval from the preceding computing time, computing aremaining number of tracks up to the target track, based on the actualposition of the servo head computed in the present computing time,obtaining an object velocity of the servo head based on the remainingnumber of tracks, and computing a current value for driving the motor,based on the moving velocity of the servo head and the object velocityof the servo head; and motor drive means for receiving the current valuecomputed by the digital processing means, generating an analog motordrive current signal from the current value, and driving the motor bythe analog motor drive current signal.
 26. A head positioning controlapparatus as in claim 25, wherein the digital processing means:computesan estimated error by subtracting the actual position of the servo headcomputed in the present computing time from the estimated position ofthe servo head computed in the preceding computing time, sets theestimated position of the servo head in the preceding computing time asthe actual position of the servo head in the present computing time whenthe estimated error exceeds a predetermined value, and maintains theactual position of the servo head computed in the present computing timeas the actual position of the servo head computed in the presentcomputing time when the estimated error is smaller than thepredetermined value.
 27. A head positioning control apparatus as inclaim 25, wherein the digital processing means:computes the movingdistance of the servo head from the difference between the actualposition of the servo head computed in the present computing time andthe actual position of the servo head computed in the precedingcomputing time, and computes the moving velocity of the servo head bydigitally applying a low-pass filter process to the moving distance ofthe servo head.
 28. A head positioning control apparatus as in claim 25,wherein the motor drive means comprises:analog converting means forgenerating an analog voltage signal by converting the current value intoan analog signal; and amplifier means for converting the analog voltagesignal to the analog motor drive current signal and for supplying theanalog motor drive current signal to the motor.
 29. A method forpositioning a servo head which reads data recorded on a disk of a diskdrive system, the disk drive system operable with a disk having aplurality of tracks and servo data recorded on the disk, the disk beingdivided into a plurality of zones, each zone having a predeterminednumber of continuous tracks and the servo data indicates a position of aservo head on the disk when the servo head is reading the servo data,the disk drive system comprising a servo head which reads the servodata, a positional signal generating circuit which is responsive to theservo data read by the servo head to generate an analog positionalsignal indicating the position of the servo head on the disk, and amotor which is responsive to the analog positional signal to move theservo head to cross tracks on the disk, the method computing anestimated position of the servo head on the disk and an actual positionof the servo head on the disk at each computing time of a plurality ofsequential computing times to move the servo head to a target track, themethod comprising:converting the analog positional signal into a digitalvalue, and, at each computing time of the plurality of sequentialcomputing times,computing a position of the servo head in a respectivezone based on the converted digital value, computing an actual positionof the servo head in the present computing time based on the computedposition of the servo head and the estimated position of the servo headcomputed in the preceding computing time, computing a moving distance ofthe servo head from the difference between the actual position of theservo head computed in the present computing time and the actualposition of the servo head computed in the preceding computing time,computing an estimated position of the servo head in the presentcomputing time which indicates an estimated position reached by theservo head at the succeeding computing time of the plurality ofsequential computing times, by adding the actual position of the servohead computed in the present computing time to the moving distance ofthe servo head, computing a moving velocity of the servo head based onthe moving distance, computing a number of remaining tracks up to thetarget track, based on the actual position of the servo head computed inthe present computing time, obtaining an object velocity of the servohead based on the number of remaining tracks, and computing a currentvalue for driving the motor, based on the moving velocity of the servohead and the object velocity of the servo head without requiring the useof a measured current value for the step of computing a moving velocity.30. A method as in claim 29, wherein the step of computing an estimatedposition of the servo head in the present computing time furthercomprises:computing an estimated position of the servo head in thepresent computing time by adding the moving distance of the servo headto the actual position of the servo head computed in the presentcomputing time.
 31. A method as in claim 29, further comprising thesteps of:computing, prior to computing the moving distance, an estimatederror by subtracting the actual position of the servo head computed inthe present computing time from the estimated position of the servo headcomputed in the preceding computing time; and setting the estimatedposition of the servo head computed in the previous computing time asthe actual position of the servo head computed in the present computingtime when the estimated error exceeds a predetermined value.
 32. Amethod for positioning a servo head which reads data recorded on a diskof a disk drive system, the disk drive system operable with a diskhaving a plurality of tracks and servo data recorded on the disk, thedisk being divided into a plurality of zones, each zone having apredetermined number of continuous tracks and the servo data indicates aposition of a servo head on the disk when the servo head is reading theservo data, the disk drive system comprising a servo head which readsthe servo data, a positional signal generating circuit which isresponsive to the servo data read by the servo head to generate ananalog positional signal indicating the position of the servo head onthe disk, and a motor which is responsive to the analog positionalsignal to move the servo head to cross tracks on the disk, the methodcomputing an estimated position of the servo head on the disk and anactual position of the servo head on the disk at each computing time ofa plurality of sequential computing times to move the servo head to atarget track, the method comprising:converting the analog positionalsignal into a digital value, and, at each computing time of theplurality of sequential computing times,computing a position of theservo head in a respective zone based on the converted digital value,computing an actual position of the servo head in the present computingtime based on the computed position of the servo head and the estimatedposition of the servo head computed in the preceding computing time,computing a moving distance of the servo head from the differencebetween the actual position of the servo head computed in the presentcomputing time and the actual position of the servo head computed in thepreceding computing time, computing a moving velocity of the servo headbased on the moving distance of the servo head, computing a movingdistance of the servo head within the time interval from the precedingcomputing time of the plurality of sequential computing times bymultiplying the computed moving velocity of the servo head with timeinterval, computing an estimated position of the servo head in thepresent computing time which indicates an estimated position reached bythe servo head at the succeeding computing time of the plurality ofsequential computing times, by adding the moving distance of servo headin the time interval from the preceding computing time to the actualposition of servo head computed in the present computing time, computinga number of remaining tracks up to the target track, based on the actualposition of the servo head computed in the present computing time,obtaining an object velocity of the servo head based on the number ofremaining tracks, and computing a current for driving the motor, basedon the moving velocity of the servo head and the object velocity of theservo head without requiring the use of a measured current value for thestep of computing a moving velocity.